/* 
 * File:   ZoomingSelector.h
 * Author: Guilherme Monteiro
 *
 */

#ifndef ZOOMINGSELECTOR_H
#define	ZOOMINGSELECTOR_H

#include "MetaInfoZooming.h"
#include "../../TableTranscriber2/headers/Cell.h"
#include "../../TableTranscriber2/headers/NullImageException.h"
#include "../../TableTranscriber2/headers/InvalidFileException.h"

#define DEFAULT_HEIGHT 700
#define DEFAULT_WIDTH 550
#define DEFAULT_RESOLUTION_HEIGHT 1000
#define INTERSECTION_AREA_SIZE 60  // in high resolution scale

using namespace std;

class ZoomingSelector {
public:
    ZoomingSelector(string highResolutionTablePath) throw(NullImageException);
    ZoomingSelector(const ZoomingSelector& orig);
    virtual ~ZoomingSelector();
    vector<Cell> run();
private:
    MetaInfoZooming* metainfoZoom;
    
    IplImage* highResolutionTable;
    
    void setHighResolutionTable(string path) throw (NullImageException);
};

#endif	/* ZOOMINGSELECTOR_H */

